package devin.chat;

import devin.chat.constant.AppConst;
import devin.chat.view.StageManager;
import devin.chat.view.login.LoginViewController;
import devin.chat.view.root.RootViewController;
import javafx.application.Application;
import javafx.stage.Stage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author devin
 */
public class MainApp extends Application {
    /** 日志 */
    private static final Logger LOGGER = LoggerFactory.getLogger(MainApp.class);

    /** stage 管理器 */
    private StageManager manager;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        manager = StageManager.getInstance();

        // 设置软件的标题
        manager.setAppName(AppConst.APP_NAME);

        // 设置软件的图标
        manager.setIconPath(AppConst.ICON_PATH);

        // 创建登录界面
        manager.loadStage(LoginViewController.class,
             "login/LoginView.fxml");

        // 创建主界面
        Stage rootStage = manager.loadStage(RootViewController.class,
            "root/RootView.fxml");
        rootStage.setMaxWidth(300);
        rootStage.setMinWidth(300);
        // 去掉最大化按钮
        // rootStage.resizableProperty().setValue(Boolean.FALSE);
        // rootStage.initStyle(StageStyle.UNIFIED);

        // 显示登录界面
        manager.showStage(LoginViewController.class.getName());
    }
}
